//package com.linln.component.wtpshiro.linshi;
//
//import com.auth0.jwt.JWT;
//import com.auth0.jwt.JWTVerifier;
//import com.auth0.jwt.algorithms.Algorithm;
//import com.auth0.jwt.exceptions.JWTDecodeException;
//import com.auth0.jwt.interfaces.DecodedJWT;
//
//import java.util.Date;
//
//
///**
// * @author : pengliang
// * @version V1.0
// * @Project: timo
// * @Package com.linln.component.shiro.filter
// * @Descriptio /**
// * @Project: timo
// * @Package com.linln.component.shiro.filter
// * @Description: TODO
// * @date Date : 2020年11月26日 15:39
// */
//public class JwtUtil {
//    // 过期时间 24 小时
//    private static final long EXPIRE_TIME = 60 * 24 * 60 * 1000;
//    // 密钥
//    private static final String SECRET = "chen";
//
//    /**
//     * 生成 token
//     */
//    public static String createToken(String userPhone) {
//        Date date = new Date(System.currentTimeMillis() + EXPIRE_TIME);
//        Algorithm algorithm = Algorithm.HMAC256(SECRET);
//        // 附带username信息
//        return JWT.create()
//                .withAudience(userPhone)
//                //到期时间
//                .withExpiresAt(date)
//                //创建一个新的JWT，并使用给定的算法进行标记
//                .sign(algorithm);
//    }
//
//    /**
//     * 校验 token 是否正确
//     */
//    public static boolean verify(String token, String userPhone) {
//        try {
//            Algorithm algorithm = Algorithm.HMAC256(SECRET);
//            //在token中附带了username信息
//            JWTVerifier verifier = JWT.require(algorithm)
//                    .withAudience(userPhone)
//                    .build();
//            //验证 token
//            verifier.verify(token);
//            return true;
//        } catch (Exception exception) {
//            return false;
//        }
//    }
//
//    /**
//     * 获得token中的信息，无需secret解密也能获得
//     */
//    public static String getUserPhone(String token) {
//        try {
//            return JWT.decode(token).getAudience().get(0);
//        } catch (JWTDecodeException e) {
//            return null;
//        }
//    }
//}
